acos関数、asin関数、atan関数は、それぞれ逆三角関数のアークコサイン(逆余弦)、アークサイン(逆正弦)、アークタンジェント(逆正接)を求めます。また、atan2関数は、y/xに対するアークタンジェント(逆正接)を求めます。

#include <math.h>
double acos(double x);
double asin(double x);
double atan(double x);
double atanh2(double y, double x);

x、yは、角度をラジアン単位で指定します。

戻り値として、ラジアン単位の結果が返ります。

次の例題では、-1から1までのアークサイン(逆正弦)を求めて、それをグラフ表示しています。

プログラム 例

#include <stdio.h>
#include <math.h>

int main(void)
{
  double x;

  for (x = -1.0; x <= 1.0; x += 0.1) {
    printf('%f %f\n', x, asin(x));
  }

  return 0;
}

例の実行結果

実行結果をファイルに出力して、それをGNUPLOTでグラフ表示しています。

アークサイングラフ